package com.sg.dto.base.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc QueryMessageNumDetailReq
 * @使用场景
 */
@Data
public class QueryMessageNumDetailReq extends BaseDto implements Serializable {

    /**
     * 消息数量ID
     */
    @ApiModelProperty("消息数量ID")
    private String messageLocationRemindId;

    /**
     * 消息位置标识
     */
    @ApiModelProperty("消息位置标识")
    private String messageLocationTypeCode;

    /**
     * 成员通道关系ID
     */
    @ApiModelProperty("成员通道关系ID")
    private String memberChannelRelationId;

    /**
     * 消息通道ID
     */
    @ApiModelProperty("消息通道ID")
    private String messageChannelId;

    /**
     * 通道类型编码 MESSAGE_ASSISTANT:消息助手 PERSONAL_SESSION:个人会话 GROUP_SESSION:群会话 CUSTOMER_SERVICE_SESSION:客服会话 CONTENT_COMMENT_SESSION:圈子内容评论会话 NOT_CONTENT_COMMENT_SESSION:非圈子内容评论会话 CONTENT_ORIGIN_QA_SESSION:内容问答 THIRD_QA_SESSION:独立第三方问答 ORG_GROUP:组织群 DEPT_GROUP:部门群
     */
    @ApiModelProperty("通道类型编码")
    private String messageChannelTypeCode;

    /**
     * 是否位置消息数量 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否位置消息数量")
    private String isLocationMessage;

    /**
     * 身份人员ID
     */
    @ApiModelProperty("身份人员ID")
    private String originalRoleMemberId;

    /**
     * 账号
     */
    @ApiModelProperty("账号")
    private String userId;

    /**
     * 归属内容类型编码 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表
     */
    @ApiModelProperty("归属内容类型编码")
    private String surfaceCode;

    /**
     * 归属内容ID
     */
    @ApiModelProperty("归属内容ID")
    private String entityId;

    /**
     * 扩展内容类型编码
     */
    @ApiModelProperty("扩展内容类型编码")
    private String extendedContentTypeCode;

    /**
     * 扩展内容ID
     */
    @ApiModelProperty("扩展内容ID")
    private String extendedContentId;

    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否作废不能为空")
    @ApiModelProperty("是否作废")
    private String isValid;

    /**
     * 创建于空间ID
     */
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

    /**
     * 创建于联盟应用ID
     */
    @ApiModelProperty("创建于联盟应用ID")
    private String appId;

}
